package com.ustcinfo.study.scala.r2.zhangweiwei

import org.apache.spark.{SparkConf, SparkContext}

class Hello{
  def main(args: Array[String]): Unit = {
    val sparkConf=new SparkConf().setMaster("local").setAppName("zhangweiwei")
    val sc =new SparkContext(sparkConf)
    val txtRdd=sc.textFile("src/main/resources/sampleData/programmingGuide")

    txtRdd
      .filter(x=>x.trim().length>0)//过滤 除去空格 留下长度大于0 的数据
      .map(x=>x.split(" ")//用空格切分
      .flatMap(x=>x)//将x展开
      .map(x=>(x,1))//将x 变为（x,1）的键值对形式
      .reduceByKey(_ + _)//根据key值，将相同数据汇总
      .map(x=>(x._2,x._1))//将键和值位置交换
      .sortByKey(false).take(10)//并按照key值排序，取前10
      .foreach(println)//循环打印输出


  }

}
